1. Field of the Invention
The present invention pertains to communications systems, and particularly to communications systems which employ ATM technology.
2. Related Art and Other Considerations
Asynchronous Transfer Mode (ATM) is becoming increasingly used in communication networks. ATM is a packet-oriented transfer mode which uses asynchronous time division multiplexing techniques. Packets are called cells and have a fixed size.
As shown in FIG. 1, an ATM cell consists of 53 octets, five of which form a header and forty eight of which constitute a xe2x80x9cpayloadxe2x80x9d or information portion of the cell. The header of the ATM cell includes two quantities which are used to identify a connection in an ATM network over which the cell is to travel, particularly the VPI (Virtual Path Identifier) and VCI (Virtual Channel Identifier). In general, the virtual path is a principal path defined between two switching nodes of the network; the virtual channel is one specific connection on the respective principal path.
Between termination points of an ATM network a plurality of nodes are typically situated, such as switching nodes having ports which are connected together by physical transmission paths or links. The switching nodes each typically have several functional parts, a primary of which is a switch core. The switch core essentially functions like a cross-connect between ports of the switch. Paths internal to the switch core are selectively controlled so that particular ports of the switch are connected together to allow a cells ultimately to travel from an ingress side of the switch to an egress side of the switch.
A protocol reference model has been developed for illustrating layering of ATM. The protocol reference model layers include (from lower to higher layers) a physical layer (including both a physical medium sublayer and a transmission convergence sublayer), an ATM layer, and an ATM adaptation layer (AAL), and higher layers. The basic purpose of the AAL layer is to isolate the higher layers from specific characteristics of the ATM layer by mapping the higher-layer protocol data units (PDU) into the information field of the ATM cell and vise versa. There are several differing AAL types or categories, including AAL0, AAL1, AAL2, AAL3/4, and AAL5.
AAL2 is a standard defined by ITU recommendation I.363.2. An AAL2 packet is shown in FIG. 2 as comprising a three octet packet header, as well as a packet payload. The AAL2 packet header includes an eight bit channel identifier (CID), a six bit length indicator (LI), a five bit User-to-User indicator (UUI), and five bits of header error control (HEC). The AAL2 packet payload, which carries user data, can vary from one to forty-five octets
FIG. 3 shows how plural AAL2 packets can be inserted into a standard ATM cell. In particular, FIG. 3 shows a first ATM cell 201, and a second ATM cell 202. Each ATM cell 20 has a header 22 (e.g., cell 201, has header 221 and cell 202 has header 222). The payload of the ATM cells 20 begin with a start field 24 (e.g., cell 201 has start field 241 and cell 202 has start field 242). After each start field 24, the ATM cell payload contains AAL2 packets. For example, the payload of ATM cell 201 contains AAL2 packets 261 and 262 in their entirety, as well as a portion of AAL2 packet 263. The payload of cell 202 contains the rest of AAL2 packet 263, and AAL2 packets 264 and 265 in their entirety. In addition, the payload of cell 202 has padding 28.
The start field 24, shown in FIG. 3A, facilitates one AAL2 packet bridging two ATM cells. Start field 24 includes a six bit offset field (OSF), a one bit sequence number (SN), and one parity bit (P). The six bit offset field (OSF) contains a value, represented by offset displacement 29 in FIG. 3, indicative of the octet in the payload whereat the first full AAL2 packet begins. For ATM cell 221, the value of the offset field (OSF) is one, since AAL2 packet starts just after start field 241. For ATM cell 222, the value of the offset field (OSF) is the sum of one (in view of start field 241) and the number of octets of AAL2 packet 263 protruding into cell 222.
AAL2 advantageously allows multiplexing of data from many users within a single ATM VCC. In such multiplexing scheme, each user""s data is carried in a separate AAL2 packet, but AAL2 packets of differing users are carried in the same ATM cells or cells borne on the same ATM VC. Thus, assuming each user has a different channel identifier (CID) value, as many as 248 user channels can be multiplexed onto one ATM VC. AAL2 thus allows more efficient utilization of low speed links than standard ATM while still maintaining low delay properties.
A problem with using AAL2 arises when terminating AAL2 channels at different nodes or different addresses in the same node. Since the individual AAL2 channels may be multiplexed into one ATM-VCC, it is not possible to direct the individual AAL2 channels (e.g., the AAL2 packets on which the channel data is carried) to different destinations using conventional ATM switches.
One approach for switching AAL2 packets is set forth by Mauger and Rosenberg, xe2x80x9cQoS Guarantees for Multimedia Services on TDMA-Based Satellite Networkxe2x80x9d, IEEE Communications Magazine July 1997). In that approach, fixed-cell ATM switches work in conjunction with separate variable-cell ATM switches for handling AAL2 packets.
A queuing system stores a package derived from an ATM cell, the package including an internal interface header and either an ATM cell payload or an AAL2 packet. The queuing system comprises a queue for storing the package, as well as a processor which executes plural functions. A time stamping function applies a time stamp upon storage of the package in the queue. The time stamping function can apply the time stamp to a package as replacement of the internal interface header. A time stamp checking function uses the time stamp to make a determination whether the tenure of the package in the queue is longer than permissible. The time stamp checking function can make the tenure determination in conjunction with a potential readout of the package from the queue. Alternatively, time stamp checking function can make the tenure determination when invoked by a queue monitoring function which monitors a fill level of the queue (e.g., when a queue fill level exceeds a threshold). A discard function is provided for discarding the package if the tenure of the package in the queue is longer than permissible.